Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.03.2010, 10:38
Новичок на форуме
Отправить личное сообщение для Goldf Посмотреть профиль Найти все сообщения от Goldf
 
Регистрация: 15.03.2010
Сообщений: 9

GM_XMLHttpRequest+regexp
Совсем запутался. Есть такой код (ниже). В загруженой страничке находит только первое совпадение по регекспу, хотя дальше есть еще. Регексп упростил для тестирования. Что я не так делаю?
var regexp = /(<a\shref=".)/ig;
 
GM_xmlhttpRequest
	({
		method: "GET",
		url: "http://www.xxx.com/xxx.php" ,
		headers:
		{
			'User-agent': 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1)',
			'Accept': 'text/xml,application/xml,application/xhtml+xml,text/html',
			'Content-type': 'application/x-www-form-urlencoded'
		} ,
		onload:function(responseDetails)
		{
		  var res = regexp.exec(responseDetails.responseText);
		  if (res)
		  {
  		     for (var i=0;i<res.length;i++)
  		     {
  		       alert(res[i]);
             }
          }   		  
		}
	});
Ответить с цитированием
  #2 (permalink)  
Старый 23.03.2010, 10:55
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

http://javascript.ru/RegExp/exec
Цитата:
Если указан флаг "g", то повторный вызов exec будет давать следующее совпадение.
Ответить с цитированием
  #3 (permalink)  
Старый 23.03.2010, 11:10
Новичок на форуме
Отправить личное сообщение для Goldf Посмотреть профиль Найти все сообщения от Goldf
 
Регистрация: 15.03.2010
Сообщений: 9

Спасибо, заработало, но один момент еще мне не ясен. В справке написано, что если без "g"
Цитата:
Метод exec при совпадении возвращает массив и обновляет свойства объекта regexp.
Если совпадений нет - exec возвращает null.
Я думал массив всех совпадений, но выводило все равно первое. Так какой массив тогда?
Ответить с цитированием
  #4 (permalink)  
Старый 23.03.2010, 11:12
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Goldf
Так какой массив тогда?
Совпадение полностью, первые скобки, вторые скобки, ...
Ответить с цитированием
  #5 (permalink)  
Старый 23.03.2010, 15:14
Новичок на форуме
Отправить личное сообщение для Goldf Посмотреть профиль Найти все сообщения от Goldf
 
Регистрация: 15.03.2010
Сообщений: 9

А что делать если русские символы в ответе в неправильной кодировке.
Подставлял в запрос
'Content-type':'charset=cp1251'

но не помогает. Страница именно в ср1251 кодировке.
Ответить с цитированием
  #6 (permalink)  
Старый 23.03.2010, 15:31
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Goldf
Подставлял в запрос
Это на сервере нужно выставлять, а не на клиенте.
Ответить с цитированием
  #7 (permalink)  
Старый 23.03.2010, 15:35
Новичок на форуме
Отправить личное сообщение для Goldf Посмотреть профиль Найти все сообщения от Goldf
 
Регистрация: 15.03.2010
Сообщений: 9

к серверу доступа нет.
как же побороть?
Ответить с цитированием
  #8 (permalink)  
Старый 23.03.2010, 21:11
Новичок на форуме
Отправить личное сообщение для Goldf Посмотреть профиль Найти все сообщения от Goldf
 
Регистрация: 15.03.2010
Сообщений: 9

сделал изменение charset через overrideMimeType
для ФФ работает (greasemonkey), для Оперы не хочет (эмулятор).
эх нет счастья на свете.
Ответить с цитированием
  #9 (permalink)  
Старый 31.03.2010, 15:37
Новичок на форуме
Отправить личное сообщение для Goldf Посмотреть профиль Найти все сообщения от Goldf
 
Регистрация: 15.03.2010
Сообщений: 9

возвращаясь к напечатаному.
Сообщение от Goldf
для ФФ работает (greasemonkey), для Оперы не хочет (эмулятор).
В опере если выбрать принудительно кодировку windows-1251, то все нормально отображается. Я динамически добаляю данные из ответа в исходную страницу. Исходная страница также имеет windows-1251.
Что мешает опере нормально декодить декст, когда стоит автомат. определение?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
dom и regexp KOLANICH Events/DOM/Window 6 16.01.2010 22:51
Как опознать RegExp. Kolyaj Общие вопросы Javascript 25 04.07.2009 01:41
мааленький вопрос по Regexp:) mirniy Общие вопросы Javascript 1 22.01.2009 20:47
RegExp & Mozilla (быстродействие) tau Общие вопросы Javascript 9 24.11.2008 16:35
RegExp и unicode Yury900 Общие вопросы Javascript 7 13.05.2008 00:19